package com.winning.ds.role.service;

import com.winning.ds.common.entity.CommonJgUserEntity;
import com.winning.ds.common.entity.MenuTreeEntity;
import com.winning.ds.common.entity.SysSjyzymlEntity;
import com.winning.ds.common.entity.SysUserEntity;
import com.winning.ds.role.entity.*;
import com.winning.ds.role.entity.*;

import java.util.List;
import java.util.Map;

/** @Author: nxs@winning.com.cn @Description: 系统用户 @Date: 2018-06-22 09:15:36 */
public interface SysUserService {

  List<SysSjyzymlEntity> queryZwDic();

  /** 根据用户名，查询系统用户 */
  SysUserEntity queryByUserName(String username);

  /** 根据用户名，查询系统用户 */
  SysUserEntity selectByUserName(String username);

  CommonJgUserEntity queryUserObject(String zclsh);

  // 新增保存用户
  void save(SysUserEntity user);

  // 更新用户
  void update(SysUserEntity user);

  // 用户列表
  List<SysUserEntity> queryList(Map<String, String> queryParams);

  // 医护人员列表
  List<YhryxxEntity> yhryList(Map<String, Object> queryParams);

  // 删除用户
  void deleteUser(String zclsh);

  // 查询机构科室信息
  List queryKsxx(String jgdm);

  // 保存用户角色信息
  void saveUserRole(Map userRole);

  // 查询用户角色信息
  List getUserRole(String zclsh);

  // 批量导入用户
  void pldrYh(List<SysUserEntity> user);

  // 删除用户角色信息
  void delUserRole(String zclsh);

  // 查询菜单树
  List<MenuTreeEntity> getQxList(String zclsh);

  // 查询当前机构开通的菜单权限
  List<MenuTreeEntity> getMenuByJgbm(String jgbm);

  // 查询权限用户列表
  List<SysUserEntity> queryQxyhList(Map<String, Object> queryParams);

  // 获取最新的登录代码
  String getMaxDldm(String dldm);
  // 获取用户信息
  SysUserEntity queryUserEntity(String zclsh);

  // 保存用户角色信息
  void saveUserRoleList(List<Map> czry, List<Map> jsxx);

  // 根据qzsql 查询 参数
  List<Map<String, Object>> getOptionList(String qzsql);

  /** 北京对接国家平台获取第三方目标系统中“账号”等对象全部属性信息 */
  BjGjptSchemaResponseEntity schemaService(BjGjptUserRequestEntity bjGjptUserRequestEntity);
  /** 北京对接国家平台应用系统的账号创建方法 */
  BjGjptUserResponseEntity userCreateService(BjGjptUserRequestEntity bjGjptUserRequestEntity);
  /** 北京对接国家平台应用系统的账号修改方法 */
  BjGjptUserResponseEntity userUpdateService(BjGjptUserRequestEntity bjGjptUserRequestEntity);
  /** 北京对接国家平台应用系统的账号删除方法。 */
  BjGjptUserResponseEntity userDeleteService(BjGjptUserRequestEntity bjGjptUserRequestEntity);
  /** 查询用户映射列表 */
  List<PtLoginsEntity> queryUserMappingList(Map<String, String> queryParams);
  /** 保存用户映射关系 */
  void saveUserMapping(Map<String, String> queryParams);
  /** 删除用户映射关系 */
  void delUserMapping(Map<String, String> queryParams);
}
